package com.xhh.preenroll.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xhh.model.common.dtos.ResponseResult;
import com.xhh.model.preenroll.dtos.CancelStatusDto;
import com.xhh.model.preenroll.dtos.PreenrollPageDto;
import com.xhh.model.preenroll.dtos.SendNoticeDto;
import com.xhh.model.preenroll.dtos.UpdateStatusDto;
import com.xhh.model.preenroll.pojos.Preenroll;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xhh
 * @since 2024-08-07
 */
public interface IPreenrollService extends IService<Preenroll> {
    /**
     * 发送待录取通知
     * @param dto
     * @return
     */
    ResponseResult notice(@RequestBody SendNoticeDto dto);

    /**
     * 查看待录取通知
     * @return
     */
    ResponseResult getNotice();

    /**
     * 考生接收或者拒绝待录取通知
     * @param dto
     * @return
     */
    ResponseResult markNoticeStatusAcceptOrRefuseByStudent(UpdateStatusDto dto);

    /**
     * 分页条件查询待录取通知
     * @param dto
     * @return
     */
    ResponseResult getNoticeByPageAndCondition(PreenrollPageDto dto);

    /**
     * 招生单位取消考生的待录取资格
     * @param pId
     * @return
     */
    ResponseResult cancelStuQualification(Long pId);

    /**
     * 考生是否同意招生单位取消待录取资格
     * @param dto
     * @return
     */
    ResponseResult isAcceptCancel(@RequestBody CancelStatusDto dto);

    /**
     * 考生申请解除已同意的待录取
     * @param pId
     * @return
     */
    ResponseResult undoAccept(Long pId);

    /**
     * 招生单位是否同意考生解除待录取的申请
     * @param dto
     * @return
     */
    ResponseResult isAcceptRequest(UpdateStatusDto dto);
}
